\vssub
\subsubsection{~Curvilinear grids} \label{sub:num_space_curv}
\conthead{\ws (NRL Stennis)}{W. E. Rogers, T. J. Campbell}

\noindent 
As an extension to traditional ``regular'' grids, computations may be made on ``irregular'' 
grids within \ws\ . This makes it possible to run the model on alternate grid
projections (e.g. Lambert conformal conic), rotated grids, or
shoreline-following grids with higher resolution near shore, though the
restrictions on time step from the conditionally stable schemes still
apply. The same propagation schemes are utilized for irregular grids as for
regular grids (\para\ref{sub:num_space_trad}).

The implementation is described in detail in \cite{rep:RC09}, and summarized
here: a Jacobian is used to convert the entire domain between the normal,
curving space, and a straightened space. This conversion is performed only
within the propagation routine, rather than integrating the entire model in
straightened space. A simple, three step process is used every time the
propagation subroutine is called (i.e. every time step and every spectral
component): first, the dependent variable (wave action density) is converted
to straightened space using a Jacobian; second, the wave action density is
propagated via subroutine calls for each (of two) grid axes; third, the wave
action density is converted back to normal, curved space. The actual flux
computation is not significantly modified from its original, regular grid
form. The same process occurs, regardless of grid type (regular or irregular);
for regular grids, the Jacobian is unity.

Regarding the user interface: in {\file ww3\_grid.inp}, a string is used to
indicate the grid type. In cases where this grid string is `{\code RECT}', the
model processes input for a regular grid. In case where this grid string is
`{\code CURV}' , the model processes input for an irregular grid. [Note that
with \ws\ version 4.00, the coordinate system (i.e. degrees vs. meters) and
the closure type (e.g. global/wrapping grid) are also specified in {\file
ww3\_grid.inp} ; the switches {\code LLG} and {\code XYG} are deprecated.]

With \ws\ version 5, capability is added to run on a special type of curvilinear grid, the ``tripole grid'' using the first-order propagation scheme. In the northern hemisphere, this grid type uses two poles instead of one, and both are over land to prevent singularities in grid spacing. This type of grid is sometimes used in ocean models, e.g. \citep{art:Murr96} and \citep{art:Metz14}. No special switch is required, and the grid is read in as any other irregular grid would be, but the user must specify a closure type ({\code CSTRG}) of {\code TRPL} in {\file ww3\_grid.inp}. Specific details can be found in the documentation for {\file ww3\_grid.inp} in \para\ref{sub:ww3grid}. Propagation and gradient calculations are modified to deal with the new closure method. The {\code TRPL} closure type is compatible only with the first-order {\code PR1} propagation scheme. An attractive feature of the tripole grid is that it allows the user to run a single grid which extends all the way to the North Pole.  However, though the three poles are over land, there is still a convergence of meridians at the sea points nearest to them, meaning that the grid spacing in terms of real distances (which determines the maximum propagation time step) is still highly variable. More efficient grid spacing (meaning: with less variation of grid spacing in terms of real distances) can be achieved through the use of the multi-grid capability. Though this scheme addresses singularities in grid spacing at the pole, it does not address the singularity associated with definition of wave direction.
